#ifndef MCU_H
#define MCU_H 

#include "Mcu_Hw.h"
#include "Mcu_Extern.h"
#include "Std_Types.h"

/*******************************************************************
| function prototypes (scope: module-local)
|------------------------------------------------------------------*/

	/*********************Mcu_Init********************************/
	void Mcu_Init(const Mcu_ConfigType * ConfigPtr );

	/*********************Mcu_InitClock***************************/
	Std_ReturnType Mcu_InitClock(Mcu_ClockType ClockSetting);

	/*********************Mcu_DistributePllClock******************/
	void Mcu_DistributePllClock();

	/*********************Mcu_GetPllStatus*************************/
	Mcu_PllStatusType Mcu_GetPllStatus();

	/*********************Mcu_GetResetReason***********************/
	Mcu_ResetType Mcu_GetResetReason();

	/*********************Mcu_GetResetRawValue*********************/
	Mcu_RawResetType Mcu_GetResetRawValue();

	/*********************Mcu_PerformReset*************************/
#if (MCU_PERFORM_RESET_API == STD_ON)
	void Mcu_PerformReset(void);
#endif

	/*********************Mcu_SetMode******************************/
	void Mcu_SetMode(Mcu_ModeType McuMode);

#endif /*#ifndef MCU_H*/
